home *** CD-ROM | disk | FTP | other *** search
- SECTION Uno-Pixel,code_c
-
- ; opt c-
-
- pheight = 200
- pwidth = 40
- psize = pwidth*pheight
- execbase = 4
- openlib = -408
- closelib = -414
-
- **************************************
- fontheight = 16
- **************************************
-
- run: * no doubt or nodout
- move.l $80,otrap0
- move.l #prog,$80
- trap #0
- move.l otrap0,$80
- rts
-
- prog
- movem.l d0-d7/a0-a6,-(sp)
- bsr init_music
- lea $dff000,a5
- bsr init_stuff
- bsr clearsprites
- bsr buildmulus
- bsr setup
- move.l execbase,a6
- clr.l 38(a6)
- lea graphname(pc),a1
- moveq #0,d0
- jsr openlib(a6)
- tst.l d0
- beq quit
- move.l d0,a1
- move.l 38(a1),oldcop
- jsr closelib(a6)
- move #$4000,intena(a5)
- move.l $6c,oldl3
- move intenar(a5),d0
- or #$c000,d0
-
- move d0,saveirq
- move #%001111111111111,intena(a5)
- move.l #newl3,$6c
- move #$80,dmacon(a5)
- clr copjmp1(a5)
- move.l #newcop,cop1lch(a5)
- move #$8080,dmacon(a5)
- clr.w bltcon1(a5)
- move.l #$ffffffff,bltafwm(a5)
- move #$c010,intena(a5)
- wait
- btst #6,$bfe001
- bne.s wait
- quit
- move #$80,dmacon(a5)
- move.l oldcop,cop1lch(a5)
- clr copjmp1(a5)
- move #$4000,intena(a5)
- move.l oldl3,$6c
- blitfinito
- btst #14,dmaconr(a5)
- bne.s blitfinito
- bsr end_music
- move #$80a0,dmacon(a5)
- move saveirq,intena(a5)
- move #$f,dmacon(a5)
- movem.l (sp)+,d0-d7/a0-a6
- rte
-
- newl3
- and #$10,intreqr(a5)
- beq.s out
- movem.l d0-d7/a0-a6,-(sp)
- btst #10,$dff016
- bne.s .skip
- add #1,scrolldelay
- .skip
- move #$400,dmacon(a5)
- bsr mighty_fine
- bsr logoshaker
- bsr play
- move #$8400,dmacon(a5)
- movem.l (sp)+,d0-d7/a0-a6
- out move #$0070,intreq(a5)
- rte
-
- buildmulus
- lea sinetable,a0
- buildloop
- move (a0),d0
- mulu #40,d0
- move d0,(a0)+
- cmp.l #stopsine,a0
- blt.s buildloop
- rts
-
- ****************************************
-
- mighty_fine
- move.l #buff1,d0
- move.l #buff2,d1
- tst.w display_count
- beq.s usea
- exg.l d0,d1
- move #0,display_count
- bra.s skipmove
- usea
- move #1,display_count
- skipmove
- move.l d0,curscreen
- move.l d1,newscreen
- move d0,p6lo
- swap d0
- move d0,p6hi
- cmp.w #0,scrolldelay
- beq.s .skip
- sub #1,scrolldelay
- move.b #1,delay_flag
- bra.s nohorizscroll
- .skip
- move.b #0,delay_flag
- njw btst #14,dmaconr(a5)
- bne.s njw
- move.l #$ffffffff,bltafwm(a5)
- move #0,bltamod(a5)
- move #0,bltdmod(a5) ;ok
- move.l #scrollzone+2,bltapth(a5)
- move.l #scrollzone,bltdpth(a5)
- move #$e9f0,bltcon0(a5)
- move #(fontheight*64)+21,bltsize(a5)
- move #$8400,dmacon(a5)
- nohorizscroll
- btst #14,dmaconr(a5)
- bne.s nohorizscroll
- move #$400,dmacon(a5)
- move #$0dfc,bltcon0(a5)
- move #$ffff,bltafwm(a5)
- move #40,bltamod(a5)
- move #38,bltbmod(a5)
- move #38,bltdmod(a5)
- lea scrollzone+2,a0
- move.l curscreen,a3
- move.l sineptr,a2
- move #$8000,d6 ;Mask in D6.
- moveq #19,d7
- dovert
- move.l a3,a1
- add (a2)+,a1
- move #$8400,dmacon(a5)
-
- .wt
- btst #14,dmaconr(a5)
- bne.s .wt
- move #$400,dmacon(a5)
- move.l a0,bltapth(a5)
- move.l a1,bltbpth(a5)
- move.l a1,bltdpth(a5)
- move d6,bltafwm(a5)
- move #(fontheight*64)+1,bltsize(a5)
- oksin1
- ror #1,d6
- bpl.s dovert
- lea 2(a0),a0
- lea 2(a3),a3
- dbra d7,dovert
- cmp.b #0,delay_flag
- bne.s nochar
- add #2,pixelcount
- and #$f,pixelcount
- bne.s nochar
- move.l textptr,a0
- cmp.b #$fe-32,(a0)
- bne.s skipo
- move #400,scrolldelay
- add.l #1,a0
- move.l a0,textptr
- skipo
- cmp.b #$ff,(a0)
- bne.s notwrap
- move.l #text,a0
- notwrap
- move.b (a0)+,d0
- and #$ff,d0
- lsl #1,d0
- lea font,a1
- lea (a1,d0),a1
- move.l #scrollzone,a2
- moveq #fontheight-1,d7
- cloop move (a1),(a2)
- lea 120(a1),a1 ;font layed out as straight line
- lea 42(a2),a2
- dbra d7,cloop
- move.l a0,textptr
- nochar btst #14,dmaconr(a5)
- bne.s nochar
- move #$100,bltcon0(a5)
- move.l newscreen,bltdpth(a5)
- move #0,bltamod(a5)
- move #0,bltdmod(a5)
- move #(187*64)+20,bltsize(a5)
- add.l #2,sineptr
- cmp.l #endsine,sineptr
- blt.s exit
- sub.l #endsine-sinetable,sineptr
- exit rts
-
- ***************************************
- graphname
- dc.b 'graphics.library',0
- even
- gbase dc.l 0
- oldcop dc.l 0
- oldl3 dc.l 0
- saveirq dc.w 0
- display_count dc.w 0
- otrap0 dc.l 0
- sineptr dc.l sinetable
- scrolldelay
- dc.w 0
- delay_flag dc.b 0
- even
- pixelcount
- dc.w 0
-
- setup
- move.l #text,a0
- loopu
- move.b (a0),d0
- sub.b #32,d0
- move.b d0,(a0)+
- cmp.b #$ff,(a0)
- bne.s loopu
- rts
-
- sinetable
- dc.w 0,0,0,0,0,0,0,1,1,1,1,2,2,2,3
- dc.w 3,3,4,4,5,5,6,6,7,7,8,9,9,10,11
- dc.w 11,12,13,14,15,15,16,17,18,19,20,21,22,23,24
- dc.w 25,26,27,28,29,30,32,33,34,35,36,37,39,40,41
- dc.w 42,44,45,46,48,49,50,52,53,55,56,57,59,60,62
- dc.w 63,64,66,67,69,70,72,73,75,76,78,79,81,82,84
- dc.w 85,86,88,89,91,92,94,95,97,98,100,101,103,104,106
- dc.w 107,108,110,111,113,114,115,117,118,120,121,122,124,125,126
- dc.w 128,129,130,131,133,134,135,136,137,138,140,141,142,143,144
- dc.w 145,146,147,148,149,150,151,152,153,154,155,155,156,157,158
- dc.w 159,159,160,161,161,162,163,163,164,164,165,165,166,166,167
- dc.w 167,167,168,168,168,169,169,169,169,170,170,170,170,170,170
- dc.w 170,170,170,170,170,170,170,169,169,169,169,168,168,168,167
- dc.w 167,167,166,166,165,165,164,164,163,163,162,161,161,160,159
- dc.w 159,158,157,156,155,155,154,153,152,151,150,149,148,147,146
- dc.w 145,144,143,142,141,140,138,137,136,135,134,133,131,130,129
- dc.w 128,126,125,124,122,121,120,118,117,115,114,113,111,110,108
- dc.w 107,106,104,103,101,100,98,97,95,94,92,91,89,88,86
- dc.w 85,84,82,81,79,78,76,75,73,72,70,69,67,66,64
- dc.w 63,62,60,59,57,56,55,53,52,50,49,48,46,45,44
- dc.w 43,41,40,39,37,36,35,34,33,32,30,29,28,27,26
- dc.w 25,24,23,22,21,20,19,18,17,16,15,15,14,13,12
- dc.w 11,11,10,9,9,8,7,7,6,6,5,5,4,4,3
- dc.w 3,3,2,2,2,1,1,1,1,0,0,0,0,0,0
- dc.w 0,0,0,0
- endsine
- dc.w 0,0,0,0,0,0,0,1,1,1,1,2,2,2,3
- dc.w 3,3,4,4,5,5,6,6,7,7,8,9,9,10,11
- dc.w 11,12,13,14,15,15,16,17,18,19,20,21,22,23,24
- dc.w 25,26,27,28,29,30,32,33,34,35,36,37,39,40,41
- dc.w 42,44,45,46,48,49,50,52,53,55,56,57,59,60,62
- dc.w 63,64,66,67,69,70,72,73,75,76,78,79,81,82,84
- dc.w 85,86,88,89,91,92,94,95,97,98,100,101,103,104,106
- dc.w 107,108,110,111,113,114,115,117,118,120,121,122,124,125,126
- dc.w 128,129,130,131,133,134,135,136,137,138,140,141,142,143,144
- dc.w 145,146,147,148,149,150,151,152,153,154,155,155,156,157,158
- dc.w 159,159,160,161,161,162,163,163,164,164,165,165,166,166,167
- dc.w 167,167,168,168,168,169,169,169,169,170,170,170,170,170,170
- dc.w 170,170,170,170,170,170,170,169,169,169,169,168,168,168,167
- dc.w 167,167,166,166,165,165,164,164,163,163,162,161,161,160,159
- dc.w 159,158,157,156,155,155,154,153,152,151,150,149,148,147,146
- dc.w 145,144,143,142,141,140,138,137,136,135,134,133,131,130,129
- dc.w 128,126,125,124,122,121,120,118,117,115,114,113,111,110,108
- dc.w 107,106,104,103,101,100,98,97,95,94,92,91,89,88,86
- dc.w 85,84,82,81,79,78,76,75,73,72,70,69,67,66,64
- dc.w 63,62,60,59,57,56,55,53,52,50,49,48,46,45,44
- dc.w 43,41,40,39,37,36,35,34,33,32,30,29,28,27,26
- dc.w 25,24,23,22,21,20,19,18,17,16,15,15,14,13,12
- dc.w 11,11,10,9,9,8,7,7,6,6,5,5,4,4,3
- dc.w 3,3,2,2,2,1,1,1,1,0,0,0,0,0,0
- dc.w 0,0,0,0
- stopsine
- ***********************************************
- init_stuff
- move.l #piccy,d0
- move d0,p1lo
- swap d0
- move d0,p1hi
- swap d0
- add.l #psize,d0
- move d0,p2lo
- swap d0
- move d0,p2hi
- swap d0
- add.l #psize,d0
- move d0,p3lo
- swap d0
- move d0,p3hi
- swap d0
- add.l #psize,d0
- move d0,p4lo
- swap d0
- move d0,p4hi
- swap d0
- add.l #psize,d0
- move d0,p5lo
- swap d0
- move d0,p5hi
- move.l #buff1,d0
- move d0,p6lo
- swap d0
- move d0,p6hi
- move.l #logo,d0
- move d0,l1lo
- swap d0
- move d0,l1hi
- swap d0
- add.l #(51*78),d0
- move d0,l2lo
- swap d0
- move d0,l2hi
- swap d0
- add.l #(51*78),d0
- move d0,l3lo
- swap d0
- move d0,l3hi
- rts
-
- clearsprites
- lea $dff144,a0
- moveq #7,d7
- loopydo
- clr.l (a0)
- lea 4(a0),a0
- dbra d7,loopydo
- rts
-
- text DC.B " INNER CITY ",$FE
- DC.B " PRESENTS ",$FE
- DC.B " A NEW CRACK ",$FE
- DC.B " CODED IN 1990 BY "
- DC.B " HOTWIRE/INNER CITY ",$FE
- DC.B "MEGA-GREETS GOTO MOSES AND DR.DUBBS OF MODESTY "
- DC.B "FOR BEING SUCH COOL DUDES .... NOW THE CREDITS OF "
- DC.B "THE INTRO .... "
- DC.B " CODING :"
- DC.B " HOTWIRE/INNER CITY ",$FE
- DC.B " - GRAPHICS : "
- DC.B " POD OF INNER CITY ",$FE
- DC.B "- MUSIC : "
- DC.B "UNCLE TOM & ZIPHOID ",$FE
- DC.B " AND IS TAKEN FROM "
- DC.B "RAZOR 1911+S MUSIC DISK CALLED #DELICATE SOUNDS# "
- DC.B "RIPPED BY HOTWIRE ..... "
- DC.B " "
- DC.B "GREETINGS GOTO ALL "
- dc.b " INNER CITY MEMBERS ",$FE
- dc.b "- ALSO A SPECIAL "
- DC.B "GREET GOES TO "
- dc.b " JROK+90 OF MAYHEM ",$FE
- dc.b "- "
- dc.b "A.D.S. OF INNER CITY",$FE
- DC.B " - "
- DC.B "Q.E.D. OF INNER CITY",$FE
- dc.b " - "
- DC.B " MYSTIK OF EXTREME - COUNT ZERO AND RASTER OF "
- DC.B "ANTHROX - DR.C OF RED SECTOR - VANDAL AND STATIC "
- DC.B "OF PARADOX - ICEMAN OF MODESTY - FIREFLY,ZARCHY,LAMESLUG"
- DC.B " AND BANDASNATCH OF T.H.R. - POWERCUT OF MAYHEM - ZEUS OF "
- DC.B "PUBLIC ENEMIES - DR.ZERONINE OF QUADLITE - "
- DC.B "I AM SORRY IF I MISSED ANYBODY OUT , SEE MY SINE IS MELLOW "
- DC.B "DEMO FOR THE FULL GREETINGS LIST ..... PRESS THE LEFT MOUSE "
- DC.B "BUTT